package cn.com.self.apis.portal.service.intf;

import cn.com.self.apis.portal.entity.SysMenuEntity;
import cn.com.self.apis.portal.entity.SysRoleMenuEntity;
import cn.com.self.apis.portal.util.ICustomPage;
import cn.com.self.apis.portal.vo.TreeNodesModel;
import cn.com.selfsoft.smartcity.core.service.GenericService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;
import java.util.Map;

/**
 * @Description
 */
public interface IMenuService extends GenericService<SysMenuEntity, String, SysMenuEntity> {
    ICustomPage<SysMenuEntity> selectPage(Map<String, Object> queryParams, Page pageable);
    ICustomPage<SysMenuEntity> ntRolePriviPage(Map<String, Object> queryParams, Page pageable);

    void grantPrivile(List<SysRoleMenuEntity> list);
    /**
     * 批量删除
     * @param list
     * @return
     */
    void deletes(List<SysRoleMenuEntity> list);

    int roleAdd(SysRoleMenuEntity sysRoleMenuEntity);

    /**
     * 根据userId 查看一级菜单
     */
    List<Map<String,Object>>  loadOneSysMenu(String id);

    /**
     * 查看一级菜单
     * @return
     */
    List<SysMenuEntity> loadOneTree();

    TreeNodesModel createMenuTree(Map<String, Object> queryMap);
}
